Rating System for Identifying Exciting Sporting Events and Notifying Users

ABSTRACT

Systems and methods for determining interest levels for sporting events and notifying users when the sporting events&#39; interest levels reach threshold levels. One embodiment is a system that includes a processing engine that receives data associated with sporting events and, based on this data, determines interest levels associated with the sporting events. The system also includes a notification engine is coupled to the processing engine. When the processing engine determines that the interest level associated with a particular sporting event has reached a threshold, the notification engine provides notifications to users indicating that the threshold level has been reached.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.14/957,209, by Mark Phillip, filed Dec. 2, 2015, which is a continuationof U.S. patent application Ser. No. 12/274,081, by Mark Phillip, filedNov. 19, 2008, which claims the benefit of U.S. Provisional PatentApplication 60/989,277, by Mark Phillip, filed Nov. 20, 2007, all ofwhich are incorporated by reference as if set forth herein in theirentirety.

BRIEF DESCRIPTION OF THE DRAWINGS

Other objects and advantages of the invention may become apparent uponreading the following detailed description and upon reference to theaccompanying drawings.

FIG. 1 is a functional block diagram illustrating the components of asystem in accordance with one embodiment.

FIG. 2 is a diagram illustrating the operation of a system such as theone shown in FIG. 1.

FIG. 3 is a flow diagram illustrating a system implemented in a computersystem that is coupled to the Internet in accordance with oneembodiment.

While the invention is subject to various modifications and alternativeforms, specific embodiments thereof are shown by way of example in thedrawings and the accompanying detailed description. It should beunderstood, however, that the drawings and detailed description are notintended to limit the invention to the particular embodiment which isdescribed. This disclosure is instead intended to cover allmodifications, equivalents and alternatives falling within the scope ofthe present invention as defined by the appended claims.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

One or more embodiments of the invention are described below. It shouldbe noted that these and any other embodiments described below areexemplary and are intended to be illustrative of the invention ratherthan limiting.

The invention relates generally to computer systems and moreparticularly to systems and methods for rating sporting events based,for example, on prior and current statistics and user input, andnotifying users of games that would be appealing to them.

Embodiments of this invention create a rating system for sporting eventsthat gauges how exciting a game is based on functions using prior andcurrent game statistics as inputs as well as the opinion of fans. Bymatching various weighted scenarios, games can be compared and sortedbased on how appealing they would be to the average person.

The large majority of sporting events that are deemed exciting can beidentified by matching certain statistical criteria. A simple example isa Perfect Game in Baseball, one of the more rare and excitingoccurrences in major sports. The box score for a developing Perfect Gamehas a team whose number of at-bats is equal to exactly 3 times thenumber of innings completed, and has none of their players reachingbase.

A more involved example is a College Basketball game near the conclusionof overtime between two ranked teams, where the lower ranked team iswinning by a narrow margin. Unlike the prior example that matched onlyone scenario, there are three scenarios in this example that can beidentified by in-game statistics: a Close Finish, Overtime, and apossible Upset. Each of these fragments by themselves may not make foran extremely exciting game, but when all three are present it becomes agame most fans would find worthwhile.

Each scenario generates a different amount of excitement, generallyproportional to its rarity. Various paradigms can be used to convey theappeal of games such as 1 to 5 star rating system, but at the core is anumerical value based on each scenario present. Scenarios such as aNo-Hitter or Perfect Game are binary—either a game is a No-Hitter or itis not. Most others are variable—2 minutes left in a tie game and 2seconds left in a tie game both qualify as close finishes, but thelatter would be more exciting.

Creating specific functions for each scenario allows us to capture thevarying weights for each, while incorporating its binary or variablebehavior. Each function depends on different variables that can be foundin the statistics for a current game, or the involved teams' histories,such as the sport played, the score, the team's ranking (if any), andthe most used statistic: the amount of time left in the game.

In the end it is the combined weighted values of each of the scenariosfound in a game's statistics that determines its appeal.

As described herein, various embodiments of the invention comprisesystems and methods for determining interest levels for sporting eventsand notifying users when the sporting events' interest levels reachthreshold levels.

One embodiment comprises a system that includes a processing engine anda notification engine. The processing engine receives data associatedwith sporting events and, based on this data, determines interest levelsassociated with the sporting events. The notification engine is coupledto the processing engine and, when the processing engine determines thatthe interest level associated with a particular sporting event hasreached a threshold, the notification engine transmits notifications tousers indicating that the threshold level has been reached.

The processing engine may be configured to receive the data associatedwith the sporting events from various sources, including static and livesources, local and remote sources, etc. This data may be plugged intoone or more mathematical expressions that are evaluated by theprocessing engine. The evaluation of the expressions results in aninterest level value that is associated with the sporting event. Thisinterest level value may then be compared with one or more thresholdvalues (e.g., to determine whether the interest level is low, medium orhigh).

The notification engine may be configured to transmit notifications tousers when one or all of the threshold levels of interest are reached.When one of these threshold levels is reached, the notification enginemay notify the users through various means and may be provided to userscollectively (e.g., via web site notifications) or individually (e.g.,via e-mails or phone messages to specific individuals). In the case ofindividual notifications, the notification engine may filter a supersetof users and send notifications only to a subset of the users. Thenotification engine may, for example, filter their users based onindividual preferences of sports, teams, colleges, etc., or it may sendnotifications only to users who can view the associated sporting eventon their respective television distribution systems (e.g., broadcaststations for a particular area, or cable or satellite systems associatedwith the users) or through online streams (e.g., espn360).

Another embodiment is a method for determining interest levelsassociated with sporting events and notifying users when the interestlevels reach threshold values. The method includes receiving dataassociated with a sporting event, determining an interest level for thesporting event based on the received data, and notifying users when theinterest level meets a threshold level.

Numerous other embodiments are also possible.

Referring to FIG. 1, a functional block diagram illustrating thecomponents of one embodiment of the invention is shown. In thisembodiment, a computer system 100 includes a processing engine 110 and anotification engine 120. Processing engine 110 and notification engine120 may consist of separate hardware components, or they may be software(or firmware) modules that are executed by a single piece of hardware.Processing engine 110 includes one or more data interfaces that allow itto receive information relating to various sporting events. Aninterconnect or internal interface is provided between processing engine110 and notification engine 120 so that the two can communicate witheach other. Notification engine 120 has one or more outgoing datainterfaces to enable it to provide notifications to users whenappropriate.

Referring to FIG. 2, a flow diagram illustrating the operation of asystem such as the one shown in FIG. 1 is shown. As shown in thisfigure, the process begins with the system receiving informationassociated with one or more sporting events or other contests (205). Thereceived information is then processed to determine whether particularcriteria associated with users' interest in the contests have been met(210). If the criteria have not been met (215), the process returns tostep 205, where additional information is received and it is determinedbased upon the new information whether or not the criteria have beenmet. It should be noted that the stream of incoming informationtypically is not constant, and the system may be configured to sleepuntil new information is received, at which time the new informationwill be processed. If at step 215 one or more of these criteria havebeen met, the process proceeds to step 220, at which notifications aresent to users to make them aware that the criteria have been met (i.e.,that the contest has become interesting.)

Referring again to FIG. 1, processing engine 110 receives informationrelating to one or more sporting events via the incoming datainterfaces. The information can be associated with many different typesof sporting events. These may be athletic contests, such as footballgames, basketball games, baseball games, golf tournaments, tennistournaments, or any other type of athletic event, as well asnon-athletic contests, such as outer tournaments, billiards tournaments,and the like. Alternative embodiments could even be designed to handlenon-sporting events, such as game shows (for example, the interest levelin a quiz show could be determined based upon the amount of money thatis at stake for a contestant.) It should be noted that references hereinto games, sporting events, contests, and the like should be construedgenerally to include any of these types of contests.

Many different types of information and be obtained for the variouscontests. This information may include, for example, scores, timeremaining in the contest, whether the contest is in an overtime period,whether the contestants are highly regarded (e.g., whether a collegeteam is nationally ranked), whether one contestant is positioned toupset the other, and so on. The information that is relevant to eachcontest may vary, depending upon the type of contest. For instance, thenumber of timeouts remaining may be relevant to a football game, whilethe number of innings remaining may be relevant to a baseball game.Whatever information is relevant to a particular type of sporting event,that information is evaluated using some a mathematical, logical orsimilar function to determine whether the sporting event is“interesting” or “exciting”.

Of course, the question of whether or not a particular sporting event isinteresting is a subjective one, so the functions that are used toevaluate the sporting events should ideally be selected based on factorsthat are generally accepted to indicate that the event is interesting.For instance, it is generally accepted that a game is more interestingif the “underdog” (the team or contestant that is not expected to win)is winning near the end of the game. Similarly, it is generally acceptedthat a game in which the scores of the respective contestants are veryclose near the end of the game is more interesting than one in which thescores are very disparate. While the functions should follow suchgenerally accepted rules, it is clear that they may vary widely from oneimplementation of the system to another.

In one embodiment, the system uses mathematical expressions that arefunctions of the received information to determine the interest levelsassociated with particular sporting events. Data for a sporting event isinserted in the mathematical expressions, and the expressions areevaluated to produce an interest level value which is associated withthat sporting event. Exemplary functions will be described in moredetail below. Whenever new information is received for the sportingevent, the functions are reevaluated and the interest level value isupdated. Each time the interest level value for the sporting event isupdated, this value is compared to several threshold values. Thesethreshold values represent interest levels that may be considered torepresent contests that are moderately interesting, very interesting,and extremely interesting. When the interest level value reaches one ofthese threshold values, the sporting event is considered to haveescalated to the corresponding interest level, so users should benotified of this escalation. In one embodiment, users are notified onlythe first time a threshold is reached, in order to prevent inundatingusers with notifications if the interest level for a particular eventfluctuates between values that are just above and just below a thresholdlevel.

Users can be notified that a particular sporting event has reached oneof the threshold interest levels in a variety of ways. The notificationscan be general, such as updating an indication of the interest level forthe sporting event on a web site that is accessible by multiple users.Alternatively, the notifications can be individual, such as e-mails orphone messages that are transmitted only to specific individuals. In oneembodiment, individual notifications are not sent to every user that hasaccess to the system, but are instead transmitted to specificindividuals. These individuals may include only those users who haveindicated an interest in the sporting events for which the notificationsare sent, or those users who have television access to the sportingevents. For example, if a user has indicated that he is a fan of theDallas Cowboys, a notification may be sent to this user when a gameinvolving the Dallas Cowboys becomes interesting. Alternatively, if auser indicates that he is a football fan and has broadcast televisionservice in a particular area, a notification may be sent to this userwhen an interesting football game is broadcast in his viewing area.

Referring to FIG. 3, a system in accordance with one embodiment isimplemented in a computer system that is coupled to the Internet. Inthis embodiment, computer system 310 is connected to the Internet 320,which allows the computer system to communicate with various datasources 330 and users 340. In this embodiment, data sources 330 mayinclude a variety of different types of information from varioussources. For example, game schedules may be available on a web site fora particular sports team or league. Television schedules for these gamesmay be available from databases maintained by television broadcastnetworks or cable or satellite television providers. When the gamesbegin, live information such as scores may be obtained from broadcastnetworks or other sources. Computer system 310 may also obtaininformation from users 340. In one embodiment, users can cheer or “root”for particular sporting events to express their interest in theseevents. These “roots” can be added to, or can otherwise factor into theinterest level for that particular sporting event. In this manner, aparticular sporting event can reach a threshold interest level based inpart upon the number of users who expressly indicate an interest in theevent.

In addition to providing information that affects the interest level ofa particular sporting event, users can provide other information that isused to determine which of the users are notified when the interestlevel for a particular sporting event reaches a threshold. For instance,each user may provide information regarding his or her favorite sports,favorite teams or specific sporting events in which they are interested.When the interest level associated with a particular sporting eventreaches a threshold, the notification engine of the computer system mayuse this information to filter the recipients of the notifications, sothat a particular user is only notified if he or she has expressed aninterest in the sport or team involved in that sporting event, or inthat particular sporting event itself. Users may also indicate thetelevision distribution systems that are available to them. Thisinformation can be used to filter the notifications, so that aparticular user is only notified if that user has access to a televisionbroadcast of the event (whether by network broadcast, cable orsatellite) or to online streams of the event (e.g., espn360).

Referring again to FIG. 3, when it is determined that users 340 shouldbe notified of a change in the interest level of a particular sportingevent, this can be accomplished in a number of ways. For example,computer system 310 can maintain a web site (see, e.g.,AreYouWatchingThis.com) to show the current interest level of thesporting event. Typically, a number of different sporting events thatare scheduled or in progress will have their respective interest levelsdisplayed on the web site. Users can then access the web site todetermine the interest levels of the different sporting events.Notifications can also be communicated to users via Internet 320 throughe-mails to individual users 340. Alternatively, computer system 310 maybe configured to send notifications via cell phone system 350 toindividual users' cell phones. These cell phone notifications mayinclude automated voice messages or text messages. Computer system 310may also send e-mails to addresses associated with users' cell phones.These e-mails are converted by cell phone system 350 into text messageswhich are then transmitted to the users' cell phones.

The notifications provided by computer system 310 to users 340 make theusers aware of interesting games so that they can, for example, watchthese games on television. Often, the users have recording devices, suchas VCRs (videocassette recorders) or DVRs (digital video recorders) onwhich they can record games for later viewing. In one embodiment, thesystem provides notifications in the form of programming instructionsfor these devices. These programming instructions can be communicatedvia Internet 320 if the devices are Internet-enabled, or they can becommunicated via a standard telephone system 360 (“POTS” or Plain OldTelephone System). The programming instructions will cause the recordingdevices to record the games on the appropriate channels, as indicated bythe respective television distribution systems that have previously beenassociated with the users.

As noted above, the interest level for a particular sporting event canbe determined in many different ways, and the “best” way of doing so isa subjective matter. It may therefore be helpful to provide thefollowing examples in which the interest level is determined orevaluated.

Evaluation of Interest Level

Game Progress

Sports divide time in their games in various ways, whether it's inhalves, quarters, or untimed innings. For example, the halfway point ofa baseball game is after the top of the 5th inning, while the halfwaypoint of a U.S. Hockey game is 10 minutes left in the 2nd period.

A critical step in creating rules to rate games in a diverse set ofsports, is converting the amount of time left in a match into a commonmetric. One strategy would be to change the time left in each game intoa number from 100 to 0 with 100 being the start of the game, 50 beingthe halfway point, and 0 being the end of regulation. A scale of 100 isnumerically problematic however, as sports like hockey that use 3periods, would represent the end of the 1st Period by 33.3333. Workingon a scale of 72, the lowest common denominator of 2 halves in Soccer, 3periods in Hockey, 4 periods in Basketball, and 18 half innings inbaseball, helps avoid fractional numbers at major milestones in a game.

Overtime is represented by negative progress numbers whose magnitude isequal to the amount of time in regulation. 10 minutes left in a Hockeygame has a progress of 12, while a Hockey game 10 minutes into overtimehas a progress of −12.

Progress Sport Time Left   72 All Beginning of Game   48 Baseball End of3rd Inning   48 Hockey End of 1st Period   48 Soccer 22.5 minuteselapsed in 1st Half   36 Baseball Middle of the 5th Inning   36Basketball Halftime   36 Football Halftime   36 Hockey 10 minutes leftin 2nd Period    0 All End of Regulation −24 Baseball End of the 12thInning −24 Basketball End of 1st Overtime −48 Baseball End of the 15thInning −48 Basketball End of 2nd Overtime

Scenario Examples

Close Finish

As a game reaches its conclusion, the smaller the difference between thescores of the teams involved (or between the leading contestants insports such as Auto Racing and Golf), the more likely it is to beperceived as exciting. A 2-point difference in score in a professionalbasketball game carries a drastically different weight than a 2-pointdifference in a soccer game, so closeness is defined as a percentage ofthe winning team's score.

POWER(18−MAX(progress,0),2)/18)*((MAX(score1,score2)/10−ABS(score1−score2))*6)/(MAX(score1,score2)/10

This rule adds 0-108 points for a game where the scores of the two teamsare close and the game is almost over. A “close” game is defined as onewhere the difference between the two scores is 10% or less of thewinning team's score.

In sports such as American Football, there are extended periods of timeduring which only one team generally has the opportunity to score, sothe definition of a Close Finish is different. In the case of football,it is important in assessing the closeness of the contest to consideradded characteristics of the game such as who has the possession of theball, how close the team with possession is to the end zone, and howmany timeouts each team has.

For example, if Team A is beating Team B by five points with 60 secondsleft in the game, the following are three scenarios listed in order ofdrastically increasing excitement.

-   -   a) Team A has the ball and Team B doesn't have any timeouts.    -   b) Team B has the ball with no timeouts on its own 20 yard line.    -   c) Team B has the ball with two timeouts on its opponent's 20        yard line.

Games with Two Ranked Teams

Many college sports rank the top teams involved, generally the top 25.These teams are expected to have greater talent and to perform at ahigher quality level, so these games are expected to be better.

(POWER(MAX(0,49−(ranking1+ranking2)),2)/(POWER(46,2)/65))+10

This rule adds 10-65 points to the rating based on how high the teamsare ranked. The better the rankings (and lower the number) the betterthe game is expected to be. This rule is only used when both teams areranked.

Upsets of Ranked Teams

It is generally believed that when a ranked team beats a team with abetter ranking (a lower number) that the game is inherently moreexciting. The rarity (and therefore the excitement) grows exponentiallybased on the difference between the two rankings. The largest upsetisn't the 25th team beating a 1st team however; it's an unranked teambeating the 1st ranked team. To model that in this rule, unranked teamsare given a “ranking” 40% worse than the worst ranked team. If there are25 teams ranked, the calculation for upsets uses a ranking of 35 forunranked teams. If the two teams are closely ranked (roughly five spotsis considered “close”), then a lower ranked team beating a higher rankedteam carries little or no weight.

POWER(ABS(ranking1−ranking2),2)/(POWER(35−1,2)/125)

This rule adds 0-100 points based on the spread of rankings. This ruleis only used when the better ranked team is losing, or the score isclose enough that it is a possibility. A “close” game is defined as onewhere the difference between the two scores is 10% or less of thewinning team's score.

Perfect Games & No-Hitters (Sport Specific)

Some rules are only valid for specific sports. Perfect Games andNo-hitters happen infrequently in professional baseball, making themquite appealing to fans. Since every game starts off as a Perfect Gameand a No-hitter, it is not until a game reaches its halfway point thatthis rule begins to add points.

MAX(36−progress,0)*8

This rule adds 0-288 points (more for a game in extra innings) for ano-hitter, with no points added until the game gets to the halfwaypoint. Perfect games use the same formula with a 1.25 multiplier.

Formula Glossary

Functions

-   -   POWER(x,y)—x to the y power    -   ABS(x)—The absolute value of x    -   MAX(x,y)—Returns the large of these two numbers

Inputs

-   -   progress—The amount of time left in the game converted to a 0-72        scale    -   score1—Team 1's current score in the game    -   score2—Team 2's current score in the game    -   ranking1—Team 1's ranking (if not ranked,    -   (NUMBER_OF_TEAMS_RANKED*1.4) is used)    -   ranking2—Team 2's ranking (if not ranked,    -   (NUMBER_OF_TEAMS_RANKED*1.4) is used)

Process Description

Most major sports sites that provide scores depend on a 3rd party toprovide updates as games progress. A feed (sometimes called a wire) ismonitored and as updates arrive at the site, the new information isstored in a database to be later provided to visitors of the site.

Embodiments of this invention are typically encapsulated in their ownprocesses (henceforth referred to as a “rating engine”) monitoring theincoming sports information alongside whatever process that updates thesite's database.

Depending on the verboseness of the feed, the rating engine may not beable to search for all scenarios on a game. If the updated informationfor a game contains only the score and time left, or if the site dependson manual or crowd sourced updates, only scenarios such as Close Finishor Overtime can be properly searched for and matched due to the lack ofinformation. All scenarios can be searched for and matched when updatedinformation about a game includes detailed statistics, and informationabout the teams involved is known.

Whenever new data arrives, the engine parses the information and beginsa rating calculation. The first steps require the engine to lookup andcalculate the inputs for the various scenario functions. The score foreach team is trivial, and the calculation of the numerical progress(time left) is straightforward once the game's sport is determined. Torun the function for an Upset, the rankings (if any) for the teamsinvolved need to be looked up, most likely from a table in the samedatabase that holds the score information for the game.

To run a function for a No-Hitter, Perfect Game, or IndividualPerformance, the specific statistics for a game need to be analyzed.Typical in-game statistics would contain a detailed data fragment likethe one below that breaks down the performance by team and by player.

-   -   <BATTING_STATS teamcode=“NYYANKEES”>        -   <PLAYER name=“J Damon” pos=“dh” id=“1846236” ab=“5” r=“1”            h=“3” rbi=“1” bb=“0” so=“1” lob=“1” avg=“0.263”></PLAYER>        -   <PLAYER name=“D Jeter” pos=“ss” id=“1846404” ab=“5” r=“1”            h=“1” rbi=“1” bb=“0” so=“2” lob=“4” avg=“0.313”></PLAYER>        -   <PLAYER name=“B Abreu” pos=“rf” id=“1847070” ab=“4” r=“1”            h=“1” rbi=“2” bb=“1” so=“1” lob=“0” avg=“0.286”></PLAYER>        -   <PLAYER name=“A Rodriguez” pos=“3b” id=“1846813” ab=“4”            r=“0” h=“1” rbi=“1” bb=“0” so=“2” lob=“1”            avg=“0.316”></PLAYER>        -   <PLAYER name=“J Posada” pos=“c” id=“1846706” ab=“4” r=“2”            h=“2” rbi=“0” bb=“1” so=“0” lob=“1” avg=“0.339”></PLAYER>        -   <PLAYER name=“H Matsui” pos=“If” id=“2120500” ab=“4” r=“0”            h=“1” rbi=“1” bb=“1” so=“1” lob=“5” avg=“0.290”></PLAYER>        -   <PLAYER name=“J Giambi” pos=“1b” id=“1846747” ab=“3” r=“1”            h=“1” rbi=“1” bb=“2” so=“2” lob=“3” avg=“0.243”></PLAYER>        -   <PLAYER name=“R Cano” pos=“2b” id=“2084670” ab=“4” r=“1”            h=“1” rbi=“1” bb=“0” so=“2” lob=“5” avg=“0.299”></PLAYER>        -   <PLAYER name=“M Cabrera” pos=“cf” id=“2178418” ab=“2” r=“1”            h=“0” rbi=“0” bb=“2” so=“0” lob=“3” avg=“0.287”></PLAYER>        -   <TEAM ab=“35” r=“8” h=“11” rbi=“8” bb=“7” so=“11”    -   lob=“23”></TEAM>    -   </BATTING_STATS>

By identifying that the number of at-bats for this team is more than 3times the number of completed innings, and that as a team they had 11hits, this team is not on the offensive end of a Perfect Game orNo-Hitter. If the opposing team also fails this check, the scenario doesnot match this game. Whenever a game doesn't match a scenario, theassociated function contributes nothing to the game's total rating.

Once all inputs are defined, and matching scenarios are found, therating engine notes each matching scenario and calculates the value ofeach associated function. The sum of each of the functions equals thetotal rating for the game.

Once the rating for a game is calculated, it should be stored in adatabase or similar data storage device. To successfully compare thechange of the rating as the game progresses however, it is suggestedthat along with the total rating, the difference between the previousrating and the current rating is captured as well. This information canbe captured using a database table structure like the one below.

Field Type Description RatingID int(10) unsigned A unique ID for thisrating GameID int(10) unsigned The game that this rating applies toPoints smallint(6) The change in rating after the most recentcalculation Total int(11) The total rating number for this game Datedatetime The date and time of the rating Rationale varchar(250) Thereason for the rating (i.e. Upset, Close Finish)

Of note in this structure is that the Points column, which representsthe change in rating after the most recent calculation is signed, allowsboth positive and negative values. In many cases a game may at one pointmatch multiple scenarios, yet as it progresses not match any at all. Forexample, if a College Basketball game is tied at 65 with 5:00 left, andthe Close Finish function was the only matching scenario, the ratingengine would give the game 27 points.

POWER(18−MAX(9,0),2)/18)*((MAX(65,65)/10−ABS(65−65))*6)/(MAX(65,65)/10=27

If one team scores enough points to have the game no longer qualify as aClose Finish, the scenario would not match, and a new Rating recordwould be added to the database table with −27 points and a total ratingof 0. To determine the number of points the engine should add (orsubtract) in a rating record, the engine must first determine the ratingof the game just prior to the current calculation and use thedifference.

The scenarios that make up the rating engine successfully identifystatistic-based scenarios that make games appealing, but it doesn'tcapture the intangible stories and plot lines that can make a gameexciting to fans. Therefore it is important to give users the ability toadd a limited amount of points to the total rating for a game. Bymarrying the objectiveness of the rating engine with the subjectiveopinions of users, a more effective total rating can be achieved.

Although the effect each user can have on the total rating of a gameshould be minimal, as the number of contributing users grows the ratioof the weight of the users' ratings to the weight of the rating engine'sratings increases as well. To compensate, the number of points given bythe rating engine needs to be increased over time as the number ofparticipating users increases. To allow games to be compared acrossincreases of the rating engine's weight, rating thresholds should bedefined. A sample set of thresholds could be 0-74, 75-149, 150-224, and225 and above. If the threshold ranges are increased in proportion tothe increase in users (and therefore the increase in points contributedby the rating engine), games can be fairly compared based on whichordinal threshold it reached.

Ratings for each game can be easily integrated into any site thatprovides scores, but it is important to alert users who aren't presentlyinteracting with the service that a game has achieved a high rating. Asthere can be more than 400 games scheduled among major sport leagues inone day, users can be overloaded with information. The typical responseupon learning of an exciting game is to attempt to watch the game, soalerts are filtered based on what is available to the user to watch onTV or online. Daily, a separate process is run that performs patternmatching on TV listings and online streams against the day's sportingevents, determining exactly which games are available for each user towatch via the Internet or on TV, based on their location and cable orsatellite provider.

Once a game reaches a new threshold, if it is determined that the gameis available for the user to watch, alerts are sent via SMS, email, webbrowser, desktop application, online embeddable flash widget,television, cable/satellite box, digital video recorder or otherrequested medium. Users can choose specific thresholds, teams, andsports about which they'd like to be alerted, as well as the medium onwhich the alert is delivered.

Users with units capable of recording television or online streams, suchas Home Theater PCs or Digital Video Recorders can install a remoteapplication that will periodically communicate with the databasecontaining the rating engine's calculations either directly, or througha web service or API. Users can choose specific thresholds, teams, andsports describing exactly which games they would like recorded and underwhat circumstances. Due to the matching process performed to associategames with airing in TV listings, the recording devices will not beforced to guess when a game will end, instead ending only when the gameis complete even if the game enters into overtime or extra innings. Thissame logic can also be used to automatically change recording requestsfor non-sporting events that may be impacted by a sporting event runninglater than expected (e.g., a television program that is delayed as aresult of the sporting event running late). Users can also retain theoption of permission-based recording. If not comfortable with recordingevery game that matches their set criteria, alerts sent to the user canbe actionable, allowing him or her to ignore the game, or request thattheir recording device capture it.

The benefits and advantages which may be provided by the presentinvention have been described above with regard to specific embodiments.These benefits and advantages, and any elements or limitations that maycause them to occur or to become more pronounced are not to be construedas critical, required, or essential features of any or all of theclaims. As used herein, the terms “comprises,” “comprising,” or anyother variations thereof, are intended to be interpreted asnon-exclusively including the elements or limitations which follow thoseterms. Accordingly, a system, method, or other embodiment that comprisesa set of elements is not limited to only those elements, and may includeother elements not expressly listed or inherent to the claimedembodiment.

While the present invention has been described with reference toparticular embodiments, it should be understood that the embodiments areillustrative and that the scope of the invention is not limited to theseembodiments. Many variations, modifications, additions and improvementsto the embodiments described above are possible. It is contemplated thatthese variations, modifications, additions and improvements fall withinthe scope of the invention as detailed within the following claims.

1. A sporting event rating and notification system comprising: a ratingengine, wherein the rating engine monitors one or more feeds from one ormore external data sources, wherein the feeds contain game statisticsdescribing a sporting event, wherein the rating engine determines arating associated with the sporting event based on the received gamestatistics; and a notification engine coupled to the rating engine,wherein in response to the rating engine determining that the ratingassociated with the sporting event has changed, the notification engineprovides corresponding notifications to a first set of one or moreusers, wherein each of the notifications provides an audible or visibleindication that the rating has changed.
 2. The sporting event rating andnotification system of claim 1, wherein the rating is dependent upon thegame statistics and user roots, wherein the user roots comprise userinput expressing interest of a second set of users in the sportingevent, wherein the second set of users is different from the first setof users. 3-4. (canceled)
 5. The sporting event rating and notificationsystem of claim 1, wherein the rating engine is configured to determinethe rating for the sporting event by evaluating a mathematicalexpression that is a function of the received game statistics, andwherein the mathematical expression includes an objective ratingcomponent computed based on statistics of the sporting event and asubjective user opinion component computed based on a number of usersthat express interest in a particular sporting event.
 6. The sportingevent rating and notification system of claim 1, wherein the ratingengine determines a number of users who expressly indicate interest inthe sporting event, and wherein the rating engine increases the ratingin response to an increase in the number of users who expressly indicateinterest in the sporting event. 7-8. (canceled)
 9. The sporting eventrating and notification system of claim 1, wherein the one or morethreshold levels comprise a first threshold level and the notificationscomprise a first set of notifications indicating the first thresholdlevel, the rating engine further being configured to determine when therating associated with the sporting event meets a second threshold levelwhich is higher than the first threshold level, wherein the notificationengine is configured to provide a second set of notifications indicatingthe second threshold level in response to determining that the ratingassociated with the sporting event meets the second threshold level. 10.A sporting event rating and notification system comprising: a ratingengine and a notification engine; wherein the rating engine isconfigured to monitor one or more feeds from one or more external datasources, wherein the feeds contain game statistics describing a sportingevent, determine a rating associated with the sporting event based onthe received game statistics, and determine whether the rating meets oneor more threshold levels; wherein the notification engine is coupled tothe rating engine and configured to provide notifications to one or moreusers in response to the rating engine determining that the ratingassociated with the sporting event meets the one or more thresholdlevels, wherein each of the notifications provides an indication thatthe rating has met the one or more thresholds; wherein the gamestatistics associated with the sporting event are received by the ratingengine prior to completion of the sporting event and the notificationsare provided to the user devices of the one or more users prior tocompletion of the sporting event; and wherein the notification engine isconfigured to provide the notifications in the form of programminginstructions that are provided to a recording device, wherein theprogramming instructions are configured to cause the recording device torecord at least a portion of the sporting event.
 11. A methodimplemented in a sporting event rating and notification system, themethod comprising: the sporting event rating and notification systemmonitoring one or more feeds from one or more external data sources,wherein the feeds contain game statistics describing a sporting event;the sporting event rating and notification system determining a ratingassociated with the sporting event based on the received gamestatistics; and the sporting event rating and notification systemproviding notifications to a first set of one or more users when therating associated with the sporting event changes, wherein each of thenotifications provides an audible or visible indication that the ratinghas changed.
 12. The method of claim 11, wherein determining the ratingassociated with the sporting event based on the received game statisticscomprises the sporting event rating and notification system evaluating amathematical expression that is a function of the received gamestatistics.
 13. The method of claim 12, wherein the received gamestatistics includes a score associated with the sporting event, a timemetric associated with the sporting event, and user roots which expressinterest of a second set of users in the particular sporting event,wherein the second set of users is different from the first set ofusers.
 14. The method of claim 11, wherein notifying the one or moreusers comprises providing notifications in the form of programminginstructions that are provided to a recording device, wherein theprogramming instructions are configured to cause the recording device torecord at least a portion of the sporting event.
 15. (canceled)
 16. Themethod of claim 12, wherein the mathematical expression includes anobjective rating component computed based on statistics of the sportingevent and a subjective user opinion component computed based on a numberof users that express interest in a particular sporting event.
 17. Themethod of claim 11, wherein the rating engine determines a number ofusers who expressly indicate interest in the sporting event, and whereinthe rating engine increases the rating in response to an increase in thenumber of users who expressly indicate interest in the sporting event.18-19. (canceled)
 20. The method of claim 11, wherein the rating enginedetermines whether the rating meets one or more threshold levels, andwherein in response to the rating engine determining that the ratingassociated with the sporting event meets the one or more thresholdlevels, the notification engine is configured to provide correspondingnotifications to one or more users indicating that the rating has metthe one or more thresholds.
 21. The method of claim 11, wherein thenotifications are provided through a web service.
 22. The method ofclaim 11, wherein the notifications are provided through an API.
 23. Thesporting event rating and notification system of claim 1, wherein therating engine determines whether the rating meets one or more thresholdlevels, wherein in response to the rating engine determining that therating associated with the sporting event meets one or more of thethreshold levels the notification engine provides correspondingnotifications to the first set of one or more users and thereby providesan audible or visible indication that the rating has met correspondingones of the threshold levels.
 24. The sporting event rating andnotification system of claim 1, wherein the notification engine isconfigured to provide the notifications by presenting the notificationson a web site that is accessible by the first set of one or more users.25. The sporting event rating and notification system of claim 24,wherein the notification engine is configured to provide thenotifications by updating an indication of the rating associated withthe sporting event that is displayed on the web site.
 26. The sportingevent rating and notification system of claim 1, wherein thenotification engine is configured to provide the notifications through aweb service.
 27. The sporting event rating and notification system ofclaim 1, wherein the notification engine is configured to provide thenotifications through an API.